1. Field
Embodiments of the invention relate to the field of computer systems and more specifically, but not exclusively, to preboot memory of a computer system.
2. Background Information
In typical computer architecture, the initialization and configuration of the computer system by firmware, such as the system Basic Input/Output System (BIOS), is commonly referred to as the preboot phase. The preboot phase is generally defined as the time between a processor reset and loading of an Operating System (OS). At the start of preboot, it is up to the code in the firmware to initialize the platform to the point that an operating system loaded off of media, such as a hard disk, can take over.
The start of the OS load begins the period commonly referred to as OS runtime. During OS runtime, the firmware may act as an interface between software and hardware components of a computer system as well as handle system-related tasks. As computer systems have become more sophisticated, the operational environment between the OS level and the hardware level is generally referred to as the firmware or the firmware environment.
Today's systems are moving toward a 64-bit computing environment. 64-bit computing enables memory addressing above 4-Gigabytes (GBs) of virtual memory. Memory paging is used to map virtual memory to physical memory of a system. In a 64-bit system, preboot may also include 64-bit processes. For example, during preboot, control and status registers may be mapped above the 4-GB line. However, current designs fail to efficiently support 64-bit memory addressing during the preboot phase.